package com.example.toy.core.fs;

import com.example.toy.core.table.ToyTableMeta;
import com.example.toy.core.version.ToyVersion;
import org.apache.hadoop.fs.Path;

import java.util.List;
import java.util.Map;

/** 表的文件视图，仅仅反映某个指定的版本状态 */
public interface ToyTableVersionFileView {

  /**
   * 当前表文件视图的版本
   *
   * @return
   */
  ToyVersion getVersion();

  /**
   * 表的基本数据文件
   *
   * @param partitionKey
   * @return
   */
  List<Path> getBaseFiles(String partitionKey);

  /**
   * 表的增量日志文件列表
   *
   * @param partitionKey
   * @return
   */
  List<Path> getDeltaFiles(String partitionKey);

  /**
   * 是否是归档版本
   *
   * @return
   */
  boolean isArchived();

}
